#include"dao_VtkVolumeRendering.h"

DAO_INIT_MODULE;
DaoVmSpace *__daoVmSpace = NULL;

#ifdef __cplusplus
extern "C"{
#endif

static DaoNumItem constNumbers[] =
{

  { "VTKKW_FP_SCALE", DAO_DOUBLE, VTKKW_FP_SCALE },
  { "VTKKW_FPMM_SHIFT", DAO_INTEGER, VTKKW_FPMM_SHIFT },
  { "VTKKW_FP_MASK", DAO_INTEGER, VTKKW_FP_MASK },
  { "VTKKW_FP_SHIFT", DAO_INTEGER, VTKKW_FP_SHIFT },
  { "VTK_AREA_LEVEL_OF_DETAIL", DAO_INTEGER, VTK_AREA_LEVEL_OF_DETAIL },
  { "VTK_BLEND_MODE_COMPOSITE", DAO_INTEGER, VTK_BLEND_MODE_COMPOSITE },
  { "VTK_BLEND_MODE_MAX_INTENSITY", DAO_INTEGER, VTK_BLEND_MODE_MAX_INTENSITY },
  { "VTK_BLEND_MODE_MIN_INTENSITY", DAO_INTEGER, VTK_BLEND_MODE_MIN_INTENSITY },
  { "VTK_BUNYKRCF_ARRAY_SIZE", DAO_INTEGER, VTK_BUNYKRCF_ARRAY_SIZE },
  { "VTK_BUNYKRCF_MAX_ARRAYS", DAO_INTEGER, VTK_BUNYKRCF_MAX_ARRAYS },
  { "VTK_COMPOSITE_CLASSIFY_FIRST", DAO_INTEGER, VTK_COMPOSITE_CLASSIFY_FIRST },
  { "VTK_COMPOSITE_INTERPOLATE_FIRST", DAO_INTEGER, VTK_COMPOSITE_INTERPOLATE_FIRST },
  { "VTK_CROP_CROSS", DAO_INTEGER, VTK_CROP_CROSS },
  { "VTK_CROP_FENCE", DAO_INTEGER, VTK_CROP_FENCE },
  { "VTK_CROP_INVERTED_CROSS", DAO_INTEGER, VTK_CROP_INVERTED_CROSS },
  { "VTK_CROP_INVERTED_FENCE", DAO_INTEGER, VTK_CROP_INVERTED_FENCE },
  { "VTK_CROP_SUBVOLUME", DAO_INTEGER, VTK_CROP_SUBVOLUME },
  { "VTK_CURSOR_TYPE_CROSSHAIR", DAO_INTEGER, VTK_CURSOR_TYPE_CROSSHAIR },
  { "VTK_CURSOR_TYPE_PLANE", DAO_INTEGER, VTK_CURSOR_TYPE_PLANE },
  { "VTK_FIELD_LEVEL_OF_DETAIL", DAO_INTEGER, VTK_FIELD_LEVEL_OF_DETAIL },
  { "VTK_KBUFFER_SIZE_2", DAO_INTEGER, VTK_KBUFFER_SIZE_2 },
  { "VTK_KBUFFER_SIZE_6", DAO_INTEGER, VTK_KBUFFER_SIZE_6 },
  { "VTK_MAXIMIZE_OPACITY", DAO_INTEGER, VTK_MAXIMIZE_OPACITY },
  { "VTK_MAXIMIZE_SCALAR_VALUE", DAO_INTEGER, VTK_MAXIMIZE_SCALAR_VALUE },
  { "VTK_MAX_SHADING_TABLES", DAO_INTEGER, VTK_MAX_SHADING_TABLES },
  { "VTK_VOLUME_12BIT_LOWER", DAO_INTEGER, VTK_VOLUME_12BIT_LOWER },
  { "VTK_VOLUME_12BIT_UPPER", DAO_INTEGER, VTK_VOLUME_12BIT_UPPER },
  { "VTK_VOLUME_8BIT", DAO_INTEGER, VTK_VOLUME_8BIT },
  { "false", DAO_INTEGER, 0 },
  { "true", DAO_INTEGER, 1 },
  { NULL, 0, 0 }
};
static void dao__FixedPointVolumeRayCastMapper_CastRays( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__vtkFPVRCMSwitchOnDataType( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__vtkFloorFuncMacro( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__vtkRoundFuncMacro( DaoContext *_ctx, DValue *_p[], int _n );
static void dao__VolumeRayCastMapper_CastRays( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_Funcs[] =
{
  { dao__FixedPointVolumeRayCastMapper_CastRays, "FixedPointVolumeRayCastMapper_CastRays( arg : cdata )=>VTK_THREAD_RETURN_TYPE" },
  { dao__vtkFPVRCMSwitchOnDataType, "vtkFPVRCMSwitchOnDataType( arg : cdata )=>VTK_THREAD_RETURN_TYPE" },
  { dao__vtkFloorFuncMacro, "vtkFloorFuncMacro( x : double )=>int" },
  { dao__vtkRoundFuncMacro, "vtkRoundFuncMacro( x : double )=>int" },
  { dao__VolumeRayCastMapper_CastRays, "VolumeRayCastMapper_CastRays( arg : cdata )=>VTK_THREAD_RETURN_TYPE" },
  { NULL, NULL }
};
/* vtkFixedPointVolumeRayCastMapper.h */
static void dao__FixedPointVolumeRayCastMapper_CastRays( DaoContext *_ctx, DValue *_p[], int _n )
{
  void* arg= (void*) DValue_GetCData( _p[0] );

  VTK_THREAD_RETURN_TYPE _FixedPointVolumeRayCastMapper_CastRays = FixedPointVolumeRayCastMapper_CastRays( arg );
  DaoContext_CopyCData( _ctx, (void*)& _FixedPointVolumeRayCastMapper_CastRays, sizeof(VTK_THREAD_RETURN_TYPE), dao_VTK_THREAD_RETURN_TYPE_Typer );
}
/* vtkFixedPointVolumeRayCastMapper.h */
static void dao__vtkFPVRCMSwitchOnDataType( DaoContext *_ctx, DValue *_p[], int _n )
{
  void* arg= (void*) DValue_GetCData( _p[0] );

  VTK_THREAD_RETURN_TYPE _vtkFPVRCMSwitchOnDataType = vtkFPVRCMSwitchOnDataType( arg );
  DaoContext_CopyCData( _ctx, (void*)& _vtkFPVRCMSwitchOnDataType, sizeof(VTK_THREAD_RETURN_TYPE), dao_VTK_THREAD_RETURN_TYPE_Typer );
}
/* vtkVolumeRayCastMapper.h */
static void dao__vtkFloorFuncMacro( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  int _vtkFloorFuncMacro = vtkFloorFuncMacro( x );
  DaoContext_PutInteger( _ctx, (int) _vtkFloorFuncMacro );
}
/* vtkVolumeRayCastMapper.h */
static void dao__vtkRoundFuncMacro( DaoContext *_ctx, DValue *_p[], int _n )
{
  double x= (double) _p[0]->v.d;

  int _vtkRoundFuncMacro = vtkRoundFuncMacro( x );
  DaoContext_PutInteger( _ctx, (int) _vtkRoundFuncMacro );
}
/* vtkVolumeRayCastMapper.h */
static void dao__VolumeRayCastMapper_CastRays( DaoContext *_ctx, DValue *_p[], int _n )
{
  void* arg= (void*) DValue_GetCData( _p[0] );

  VTK_THREAD_RETURN_TYPE _VolumeRayCastMapper_CastRays = VolumeRayCastMapper_CastRays( arg );
  DaoContext_CopyCData( _ctx, (void*)& _VolumeRayCastMapper_CastRays, sizeof(VTK_THREAD_RETURN_TYPE), dao_VTK_THREAD_RETURN_TYPE_Typer );
}

int DaoOnLoad( DaoVmSpace *vms, DaoNameSpace *ns )
{
  DaoNameSpace *ns2;
  DaoTypeBase *typers[1465];
  const char *aliases[1];
  __daoVmSpace = vms;
  typers[0] = dao_Cell_Typer;
  typers[1] = dao_Face_Typer;
  typers[2] = dao_ScalarDataChunk_Typer;
  typers[3] = dao_VectorDataChunk_Typer;
  typers[4] = dao_cellVector_Typer;
  typers[5] = dao_doubleVector_Typer;
  typers[6] = dao_faceVector_Typer;
  typers[7] = dao_intVector_Typer;
  typers[8] = dao_intVectorVector_Typer;
  typers[9] = dao_scalarDataVector_Typer;
  typers[10] = dao_stdMap_Typer;
  typers[11] = dao_stdString_Typer;
  typers[12] = dao_stringVector_Typer;
  typers[13] = dao_vectorDataVector_Typer;
  typers[14] = dao_vtkFixedPointVolumeRayCastHelper_Typer;
  typers[15] = dao_vtkFixedPointVolumeRayCastMIPHelper_Typer;
  typers[16] = dao_vtkVolumeMapper_Typer;
  typers[17] = dao_vtkFixedPointVolumeRayCastMapper_Typer;
  typers[18] = dao_vtkHAVSSortedFace_Typer;
  typers[19] = dao_vtkUnstructuredGridVolumeRayCastIterator_Typer;
  typers[20] = dao_vtkVolumeRayCastDynamicInfo_Typer;
  typers[21] = dao_vtkVolumeRayCastMapper_Typer;
  typers[22] = dao_vtkVolumeRayCastStaticInfo_Typer;
  typers[23] = dao_vtkCoincidentPoints_implementation_Typer;
  typers[24] = dao_vtkDirectionEncoder_Typer;
  typers[25] = dao_vtkEncodedGradientEstimator_Typer;
  typers[26] = dao_vtkEncodedGradientShader_Typer;
  typers[27] = dao_vtkFiniteDifferenceGradientEstimator_Typer;
  typers[28] = dao_vtkFixedPointRayCastImage_Typer;
  typers[29] = dao_vtkFixedPointVolumeRayCastCompositeGOHelper_Typer;
  typers[30] = dao_vtkFixedPointVolumeRayCastCompositeGOShadeHelper_Typer;
  typers[31] = dao_vtkFixedPointVolumeRayCastCompositeHelper_Typer;
  typers[32] = dao_vtkFixedPointVolumeRayCastCompositeShadeHelper_Typer;
  typers[33] = dao_vtkGPUVolumeRayCastMapper_Typer;
  typers[34] = dao_vtkUnstructuredGridVolumeMapper_Typer;
  typers[35] = dao_vtkHAVSVolumeMapper_Typer;
  typers[36] = dao_vtkLabelHierarchy_Implementation_Typer;
  typers[37] = dao_vtkMultiThreshold_BooleanSet_Typer;
  typers[38] = dao_vtkMultiThreshold_Interval_Typer;
  typers[39] = dao_vtkMultiThreshold_NormKey_Typer;
  typers[40] = dao_vtkOpenGLGPUVolumeRayCastMapper_Typer;
  typers[41] = dao_vtkOpenGLHAVSVolumeMapper_Typer;
  typers[42] = dao_vtkProjectedTetrahedraMapper_Typer;
  typers[43] = dao_vtkOpenGLProjectedTetrahedraMapper_Typer;
  typers[44] = dao_vtkRayCastImageDisplayHelper_Typer;
  typers[45] = dao_vtkOpenGLRayCastImageDisplayHelper_Typer;
  typers[46] = dao_vtkVolumeTextureMapper_Typer;
  typers[47] = dao_vtkVolumeTextureMapper2D_Typer;
  typers[48] = dao_vtkOpenGLVolumeTextureMapper2D_Typer;
  typers[49] = dao_vtkVolumeTextureMapper3D_Typer;
  typers[50] = dao_vtkOpenGLVolumeTextureMapper3D_Typer;
  typers[51] = dao_vtkRecursiveSphereDirectionEncoder_Typer;
  typers[52] = dao_vtkSphericalDirectionEncoder_Typer;
  typers[53] = dao_vtkUnstructuredGridVolumeRayCastFunction_Typer;
  typers[54] = dao_vtkUnstructuredGridBunykRayCastFunction_Typer;
  typers[55] = dao_vtkUnstructuredGridBunykRayCastFunction_Intersection_Typer;
  typers[56] = dao_vtkUnstructuredGridBunykRayCastFunction_Triangle_Typer;
  typers[57] = dao_vtkUnstructuredGridVolumeRayIntegrator_Typer;
  typers[58] = dao_vtkUnstructuredGridHomogeneousRayIntegrator_Typer;
  typers[59] = dao_vtkUnstructuredGridLinearRayIntegrator_Typer;
  typers[60] = dao_vtkUnstructuredGridPartialPreIntegration_Typer;
  typers[61] = dao_vtkUnstructuredGridPreIntegration_Typer;
  typers[62] = dao_vtkUnstructuredGridVolumeRayCastMapper_Typer;
  typers[63] = dao_vtkUnstructuredGridVolumeZSweepMapper_Typer;
  typers[64] = dao_vtkVolumeOutlineSource_Typer;
  typers[65] = dao_vtkVolumePicker_Typer;
  typers[66] = dao_vtkVolumeProMapper_Typer;
  typers[67] = dao_vtkVolumeRayCastFunction_Typer;
  typers[68] = dao_vtkVolumeRayCastCompositeFunction_Typer;
  typers[69] = dao_vtkVolumeRayCastIsosurfaceFunction_Typer;
  typers[70] = dao_vtkVolumeRayCastMIPFunction_Typer;
  typers[71] = dao_vtkVolumeRenderingFactory_Typer;
  typers[72] = NULL;
  aliases[0] = NULL;
  DaoNameSpace_TypeDefine( ns, "cdata", "vtkCollectionSimpleIterator" );
  DaoNameSpace_TypeDefine( ns, "double", "vtkFloatingPointType" );
  DaoNameSpace_TypeDefine( ns, "double", "vtkTypeFloat64" );
  DaoNameSpace_TypeDefine( ns, "float", "vtkTypeFloat32" );
  DaoNameSpace_TypeDefine( ns, "int", "AttributeCopyOperations" );
  DaoNameSpace_TypeDefine( ns, "int", "AttributeLimitTypes" );
  DaoNameSpace_TypeDefine( ns, "int", "AttributeLocation" );
  DaoNameSpace_TypeDefine( ns, "int", "AttributeTypes" );
  DaoNameSpace_TypeDefine( ns, "int", "AttributeTypes" );
  DaoNameSpace_TypeDefine( ns, "int", "BufferType" );
  DaoNameSpace_TypeDefine( ns, "int", "Closure" );
  DaoNameSpace_TypeDefine( ns, "int", "ColorType" );
  DaoNameSpace_TypeDefine( ns, "int", "CompressorType" );
  DaoNameSpace_TypeDefine( ns, "int", "Coordinates" );
  DaoNameSpace_TypeDefine( ns, "int", "DataConfigurationEnum" );
  DaoNameSpace_TypeDefine( ns, "int", "DatabaseColumnType" );
  DaoNameSpace_TypeDefine( ns, "int", "DatabaseIndexType" );
  DaoNameSpace_TypeDefine( ns, "int", "DatabaseTriggerType" );
  DaoNameSpace_TypeDefine( ns, "int", "ElementTypesList" );
  DaoNameSpace_TypeDefine( ns, "int", "ErrorCodes" );
  DaoNameSpace_TypeDefine( ns, "int", "ErrorIds" );
  DaoNameSpace_TypeDefine( ns, "int", "Errors" );
  DaoNameSpace_TypeDefine( ns, "int", "EventIds" );
  DaoNameSpace_TypeDefine( ns, "int", "FILE_TYPE" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldAssociations" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldDataType" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldLocation" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldLocation" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldLocations" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldLocations" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldOperations" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldType" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldType" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldType" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldType" );
  DaoNameSpace_TypeDefine( ns, "int", "FieldTypes" );
  DaoNameSpace_TypeDefine( ns, "int", "FileTypes" );
  DaoNameSpace_TypeDefine( ns, "int", "GAMBITCellType" );
  DaoNameSpace_TypeDefine( ns, "int", "IteratorType" );
  DaoNameSpace_TypeDefine( ns, "int", "LabelGravity" );
  DaoNameSpace_TypeDefine( ns, "int", "LabelShape" );
  DaoNameSpace_TypeDefine( ns, "int", "LabelStyle" );
  DaoNameSpace_TypeDefine( ns, "int", "LanguageCodes" );
  DaoNameSpace_TypeDefine( ns, "int", "LightKitSubType" );
  DaoNameSpace_TypeDefine( ns, "int", "LightKitType" );
  DaoNameSpace_TypeDefine( ns, "int", "LocationCodes" );
  DaoNameSpace_TypeDefine( ns, "int", "MatrixOrders" );
  DaoNameSpace_TypeDefine( ns, "int", "ModeType" );
  DaoNameSpace_TypeDefine( ns, "int", "Modes" );
  DaoNameSpace_TypeDefine( ns, "int", "MovieWriterErrorIds" );
  DaoNameSpace_TypeDefine( ns, "int", "Norm" );
  DaoNameSpace_TypeDefine( ns, "int", "OperationType" );
  DaoNameSpace_TypeDefine( ns, "int", "OrientationType" );
  DaoNameSpace_TypeDefine( ns, "int", "OutputCoordinates" );
  DaoNameSpace_TypeDefine( ns, "int", "PassTypes" );
  DaoNameSpace_TypeDefine( ns, "int", "PlayModes" );
  DaoNameSpace_TypeDefine( ns, "int", "PropTypeEnum" );
  DaoNameSpace_TypeDefine( ns, "int", "ReasonForTermination" );
  DaoNameSpace_TypeDefine( ns, "int", "ReflectionPlane" );
  DaoNameSpace_TypeDefine( ns, "int", "ReturnValue" );
  DaoNameSpace_TypeDefine( ns, "int", "RotationAxis" );
  DaoNameSpace_TypeDefine( ns, "int", "Ruling" );
  DaoNameSpace_TypeDefine( ns, "int", "SCALAR_MODE" );
  DaoNameSpace_TypeDefine( ns, "int", "ScopeCodes" );
  DaoNameSpace_TypeDefine( ns, "int", "SectionTypeList" );
  DaoNameSpace_TypeDefine( ns, "int", "SelectionContent" );
  DaoNameSpace_TypeDefine( ns, "int", "SelectionField" );
  DaoNameSpace_TypeDefine( ns, "int", "SetOperation" );
  DaoNameSpace_TypeDefine( ns, "int", "Solvers" );
  DaoNameSpace_TypeDefine( ns, "int", "TemplateIDType" );
  DaoNameSpace_TypeDefine( ns, "int", "TemplateIDType" );
  DaoNameSpace_TypeDefine( ns, "int", "TemplateIDType" );
  DaoNameSpace_TypeDefine( ns, "int", "TimeCodes" );
  DaoNameSpace_TypeDefine( ns, "int", "UCDCell_type" );
  DaoNameSpace_TypeDefine( ns, "int", "Units" );
  DaoNameSpace_TypeDefine( ns, "int", "VTKCellType" );
  DaoNameSpace_TypeDefine( ns, "int", "VTKTextureBlendingMode" );
  DaoNameSpace_TypeDefine( ns, "int", "VTKTextureUnit" );
  DaoNameSpace_TypeDefine( ns, "int", "VarargTokens" );
  DaoNameSpace_TypeDefine( ns, "int", "VariableTypesList" );
  DaoNameSpace_TypeDefine( ns, "int", "VectorModes" );
  DaoNameSpace_TypeDefine( ns, "int", "WidgetState" );
  DaoNameSpace_TypeDefine( ns, "int", "eMaterialParamater" );
  DaoNameSpace_TypeDefine( ns, "int", "fd_mask" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkIdType" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkShader2Type" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkShaderProgram2BuildStatus" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkTypeInt16" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkTypeInt16" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkTypeInt32" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkTypeInt32" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkTypeInt8" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkTypeUInt16" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkTypeUInt16" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkTypeUInt32" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkTypeUInt32" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkTypeUInt8" );
  DaoNameSpace_TypeDefine( ns, "int", "vtkUnicodeStringValueType" );
  DaoNameSpace_AddConstNumbers( ns, constNumbers );
  DaoNameSpace_WrapTypes( ns, typers );
  ns2 = DaoNameSpace_GetNameSpace( ns, "boost" );
  ns2 = DaoNameSpace_GetNameSpace( ns, "serialization" );
  ns2 = DaoNameSpace_GetNameSpace( ns, "vtkUnstructuredGridVolumeZSweepMapperNamespace" );
  ns2 = DaoNameSpace_GetNameSpace( ns, "vtkmetaio" );
  DaoNameSpace_WrapFunctions( ns, dao_Funcs );
  return 0;
}
#ifdef __cplusplus
}
#endif

